package com.sharelords.demo.client;

import com.sharelords.demo.client.ao.DemoTestAo;
import com.sharelords.demo.client.param.ConditionParamAo;
import com.sharelords.demo.common.base.client.BaseClient;
import com.sharelords.demo.common.result.ServiceResult;

import java.util.List;

/**
 * @Description: demo测试对外业务借口
 * @Author: 千古龙少
 * @Time: 2019/11/20 23:51
 */
public interface DemoTestClient extends BaseClient<DemoTestAo, Long> {

    /**
     * 根据姓名获取详情
     *
     * @Author: 千古龙少
     * @Time: 2019/11/24 20:57
     * @param name
     * @return com.sharelords.demo.common.result.ServiceResult<com.sharelords.demo.client.ao.DemoTestAo>
     */
    ServiceResult<DemoTestAo> queryByName(String name);

    /**
     * 多条件分页查询数据列表
     *
     * @Author: 千古龙少
     * @Time: 2019/11/25 23:17
     * @param paramAo
     * @param pageNum
     * @param pageSize
     * @return com.sharelords.demo.common.result.ServiceResult<java.util.List<com.sharelords.demo.client.ao.DemoTestAo>>
     */
    ServiceResult<List<DemoTestAo>> queryPageByConditions(ConditionParamAo paramAo, int pageNum, int pageSize);

    /**
     * 多条件分页查询记录条数
     *
     * @Author: 千古龙少
     * @Time: 2019/11/26 23:53
     * @param paramAo
     * @return com.sharelords.demo.common.result.ServiceResult<java.lang.Integer>
     */
    ServiceResult<Integer> queryCountByConditions(ConditionParamAo paramAo);

}
